#ifndef __OLED_H
#define __OLED_H

#include <stdint.h>
#include <stdbool.h>
#include "oled_conf.h"

void oled_init(void);
void oled_color_reverse(bool reverse);
void oled_display_reverse(bool reverse);
void oled_display_on(void);
void oled_display_off(void);
void oled_refresh(void);
void oled_fill(uint8_t fill_data);
void oled_clear(void);
void oled_draw_point(uint8_t x, uint8_t y);
void oled_clear_point(uint8_t x, uint8_t y);
void oled_draw_line(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2);
void oled_draw_circle(uint8_t x, uint8_t y, uint8_t r);
void oled_show_char(uint8_t x, uint8_t y, char ch, uint8_t font_size);
void oled_show_string(uint8_t x, uint8_t y, char *str, uint8_t font_size);
void oled_show_num(uint8_t x, uint8_t y, uint32_t num, uint8_t len, uint8_t font_size);
void oled_show_pic(uint8_t x_start, uint8_t y_start, uint8_t width, uint8_t height, const uint8_t bmp[]);
void oled_show_pic_extend(uint8_t x_start, uint8_t y_start, uint8_t width, uint8_t height, const uint8_t bmp[]);

#endif